home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Includes / files / files.i < prev    next >
Encoding:
Text File  |  1998-03-22  |  3.0 KB  |  128 lines

  1.     IFND FILES_FILES_I
  2. FILES_FILES_I  SET  1
  3.  
  4. **
  5. **  $VER: files.i V1.0
  6. **
  7. **  File Definitions.
  8. **
  9. **  (C) Copyright 1996-1998 DreamWorld Productions.
  10. **      All Rights Reserved.
  11. **
  12. **
  13.  
  14.     IFND    DPKERNEL_I
  15.     include 'dpkernel/dpkernel.i'
  16.     ENDC
  17.  
  18. ****************************************************************************
  19. * Module information.
  20.  
  21. FileModVersion  = 1
  22. FileModRevision = 0
  23.  
  24. ****************************************************************************
  25. * Mini structures for source and destination operations.
  26.  
  27. ;Filename structure.
  28.  
  29.    STRUCTURE    FN,0
  30.     WORD    FN_ID           ;ID_FILENAME
  31.     APTR    FN_Name         ;Pointer to filename.
  32.     LABEL    FN_SIZEOF       ;Private.
  33.  
  34. ;Memory pointer structure.
  35.  
  36.    STRUCTURE    MPTR,0
  37.     WORD    MPTR_ID           ;ID_MEMPOINTER
  38.     APTR    MPTR_Address      ;Pointer to memory area.
  39.     LONG    MPTR_Size         ;Must supply a size unless you are a MemBlock.
  40.     LABEL    MPTR_SIZEOF       ;Private.
  41.  
  42.  
  43.     ;Example: FILENAME "HD1:Picture.iff"
  44.  
  45. FILENAME MACRO
  46.     dc.w    ID_FILENAME
  47.     dc.l    .name\@
  48. .name\@    dc.b    \1,0
  49.     even
  50.     ENDM
  51.  
  52.     ;Example: MEMPTR $530
  53.  
  54. MEMPTR    MACRO
  55.     dc.w    ID_MEMPTR
  56.     dc.l    \1
  57.     dc.l    \2
  58.     ENDM
  59.  
  60. *****************************************************************************
  61. * File Object.
  62.  
  63. VER_FILE  =    1
  64. TAGS_FILE =    (ID_SPCTAGS<<16)|ID_FILE
  65.  
  66.    STRUCTURE    FL,HEAD_SIZEOF   ;Standard header.
  67.     LONG    FL_BytePos       ;Current position in file.
  68.     LONG    FL_Flags         ;File flags.
  69.     APTR    FL_Source        ;Points to the Source descriptor.
  70.     APTR    FL_Prev          ;Previous file in chain.
  71.     APTR    FL_Next          ;Next file in chain.
  72.     APTR    FL_DataProcessor ;Not available for program use.
  73.  
  74. *****************************************************************************
  75. * File tags.
  76.  
  77. FLA_Flags   = (TLONG|FL_Flags)
  78. FLA_Source  = (TAPTR|FL_Source)
  79.  
  80. *****************************************************************************
  81. * Opening flags for Files and Directories.
  82.  
  83. FL_OLDFILE     = 0
  84. FL_WRITE       = (1<<0)
  85. FL_EXCLUSIVE   = (1<<1)
  86. FL_DATAPROCESS = (1<<2)
  87. FL_FIND        = (1<<3)
  88. FL_NOUNPACK    = (1<<4)
  89. FL_NOBUFFER    = (1<<5)
  90. FL_NEWFILE     = (1<<6)
  91. FL_ALPHASORT   = (1<<7)
  92. FL_READ        = (1<<8)
  93. FL_AUTOCREATE  = (1<<9)
  94.  
  95. FL_NOPACK      = FL_NOUNPACK
  96.  
  97. ****************************************************************************
  98. * Permission flags for Files and Directories.
  99.  
  100. FPT_READ     = $00000001
  101. FPT_WRITE    = $00000002
  102. FPT_EXECUTE  = $00000004
  103. FPT_DELETE   = $00000008
  104. FPT_SCRIPT   = $00000010
  105. FPT_HIDDEN   = $00000020
  106. FPT_ARCHIVE  = $00000040
  107. FPT_PASSWORD = $00000080
  108.  
  109. *****************************************************************************
  110. * Directory Object.
  111.  
  112. VER_DIRECTORY  = 1
  113. TAGS_DIRECTORY = (ID_SPCTAGS<<16)|ID_DIRECTORY
  114.  
  115.    STRUCTURE    DIR,HEAD_SIZEOF
  116.     APTR    DIR_ChildDir     ;First sub-directory under this dir.
  117.     APTR    DIR_ChildFile    ;First file under this directory.
  118.     APTR    DIR_Source       ;Location of the directory.
  119.     LONG    DIR_Flags        ;Opening flags (see file flags).
  120.     APTR    DIR_Next         ;Next directory in this list.
  121.     APTR    DIR_Prev         ;Previous directory in this list.
  122.  
  123. DIRA_Source = (TAPTR|DIR_Source)
  124. DIRA_Flags  = (TLONG|DIR_Flags)
  125.  
  126.   ENDC    ;FILES_FILES_I
  127.  
  128.